{ var a = 0 } { let b = 0 } { let a = 1 } { var b = 1 }

console.log(a, b); //0 1

//let 有块级作用域 var没有
//let 不可重复声明 var可以

//是否被{}限制 let会被限制 var不会如下:
{ var num = 10 } { let num2 = 10 }
console.log(num); //10
// console.log(num2);//not defined

//是否能先使用后声明
console.log(str1); //undefined
// console.log(str2);//Cannot access 'str2' before initialization 不能先使用后声明
var str1 = '111';

let str2 = '222';

//无论是在块级作用域或者局部作用域中 省略let var就会变成一个全局变量